//apply
function speak(fn, obj) {
    return fn.apply(obj, []);
}

//call
function speak(fn, obj) {
    return fn.call(obj);
}

//bind
function speak(fn, obj) {
    return fn.bind(obj)();
}